package com.zhdl.modules.autopick.service;

/**
 * 机器人相关动作
 */
public interface RobotActionService {

    /**
     * 读完销毁
     */
    void writeFalseM(int address, boolean open);

    /**
     * 机器人写等待放料信号 M11
     */
    void writeM11();

    /**
     * 机器人-读取M20信号
     */
    void getRobotM20();

    /**
     * 机器人-读取M21信号
     */
    void getRobotM21();

    /**
     * 机器人-读取M22信号
     */
    void getRobotM22();

    /**
     * 机器人-读取M120信号
     */
    void getRobotM120();

    /**
     * 机器人-读取M121信号
     */
    void getRobotM121();


    void getRobotM(int address);

    /**
     * 机器人-读取M122信号
     */
    void getRobotM122();

    /**
     * 机器人-读取M123信号
     */
    void getRobotM123();

    /**
     * 机器人-读取M124信号
     */
    void getRobotM124();

    /**
     * 读取当前状态
     * - ready 待机 run 运动
     */
    void getRobotStatus();

    /**
     * 机器人-读取机器人坐标
     */
    void getRobotCoordinate();

    /**
     * 机器人-机械臂 初始化
     */
    void robotArmInit(int[] currentLocation);

    /**
     * 机器人-机械臂 移动到药位
     */
    void robotRunToDrug(int[] imgPosition, int[] imgUpPosition);

    void robotSetPickDrug(int[] realityPosition);

    /**
     * 机器人-机械臂 机械爪 抓取料袋
     */
    void robotWriteArmPick();

    /**
     * 机器人-机械臂 机械爪抖动
     */
    void robotArmShake();

    /**
     * 机器人-机械臂 放下袋子
     */
    void robotArmDownBag();

    void robotArmAirDown();

    void robotArmAirUp();


    void robotPause(boolean open);
}
